package com.bjsxt.userscenter.users.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.bjsxt.userscenter.common.util.PageInfoUtil;
import com.bjsxt.userscenter.users.pojo.AAdmins;
import com.bjsxt.userscenter.users.pojo.ARole;

/**
 * 用户的Service
 * 
 * 一个DAO==一张表
 * 一个Service持有多个DAO的引用
 * 一个Controller持有多个Service引用
 * 
 * @author WangshSxt
 */
public interface IUsersService
{
	/*---- 管理员操作开始 ----*/
	/**
	 * 保存一条管理员
	 * @param admins	管理员对象
	 * @return	json
	 * {
		    "code": "0", 
		    "info": "成功", 
		    "data": {
		        "id": "10", 
		        "effect": "1"
		    }
		}
	 */
	JSONObject saveOneAdminsService(AAdmins admins);
	
	/**
	 * 更新一条管理员
	 * @param admins
	 * @return
	 */
	JSONObject updateOneAdminsService(AAdmins admins);
	
	/**
	 * 删除一条管理员
	 * @param condMap
	 * @return
	 */
	JSONObject deleteOneAdminsService(Map<String, Object> condMap);
	
	/**
	 * 查询一条管理员
	 * @param condMap
	 * @return
	 */
	AAdmins findOneAdminsService(Map<String, Object> condMap);
	
	/**
	 * 查询多条管理员记录
	 * Cond:条件
	 * @return
	 */
	List<AAdmins> findCondListAdminsService(PageInfoUtil pageInfoUtil,Map<String,Object> condMap);
	/*---- 管理员操作结束 ----*/
	
	/*---- 角色操作开始 ----*/
	/**
	 * 保存一条角色
	 * @param role	角色对象
	 * @return	json
	 * {
		    "code": "0", 
		    "info": "成功", 
		    "data": {
		        "id": "10", 
		        "effect": "1"
		    }
		}
	 */
	JSONObject saveOneRoleService(ARole role);
	
	/**
	 * 更新一条角色
	 * @param role
	 * @return
	 */
	JSONObject updateOneRoleService(ARole role);
	
	/**
	 * 删除一条角色
	 * @param condMap
	 * @return
	 */
	JSONObject deleteOneRoleService(Map<String, Object> condMap);
	
	/**
	 * 查询一条角色
	 * @param condMap
	 * @return
	 */
	ARole findOneRoleService(Map<String, Object> condMap);
	
	/**
	 * 查询多条角色记录
	 * Cond:条件
	 * @return
	 */
	List<ARole> findCondListRoleService(PageInfoUtil pageInfoUtil,Map<String,Object> condMap);
	/*---- 角色操作结束 ----*/
}
